﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0040)http://www.dtcms.net/help4/#label-syntax -->
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>模板制作教程</title>
<link href="http://www.dtcms.net/help4/css/bootstrap.min.css" rel="stylesheet">
<link href="http://www.dtcms.net/help4/css/docs.css" rel="stylesheet">
<link href="http://www.dtcms.net/help4/css/github.min.css" rel="stylesheet">
<style>
body {
	font-family:"ff-tisa-web-pro-1", "ff-tisa-web-pro-2", "Lucida Grande", "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Hiragino Sans GB W3", "WenQuanYi Micro Hei", "Microsoft YaHei", sans-serif;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, .lead {
	font-family:"ff-tisa-web-pro-1", "ff-tisa-web-pro-2", "Lucida Grande", "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Hiragino Sans GB W3", "Microsoft YaHei UI", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
}
pre code {
	background: transparent;
}
@media (min-width: 768px) {
 .bs-docs-home .bs-social,  .bs-docs-home .bs-masthead-links {
 margin-left: 0;
}
}
</style>
<!--[if lt IE 9]><script src="js/ie8-responsive-file-warning.js"></script><![endif]-->
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
  <script src="js/html5shiv.min.js"></script>
  <script src="js/respond.min.js"></script>
<![endif]-->
<style id="holderjs-style" type="text/css"></style></head>
<body style="">
<a class="sr-only" href="http://www.dtcms.net/help4/#content">Skip to main content</a>
<!-- Docs master nav -->
<header class="navbar navbar-inverse navbar-fixed-top bs-docs-nav" role="banner">
  <div class="container">
    <div class="navbar-header">
      <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button>
      <a href="http://www.dtcms.net/" class="navbar-brand">DTcms V4.0帮助文档</a> </div>
    <nav class="collapse navbar-collapse bs-navbar-collapse" role="navigation">
      <ul class="nav navbar-nav">
        <li class="active"> <a href="http://www.dtcms.net/help4/#">4.0帮助文档</a> </li>
        <li><a href="http://www.dtcms.net/help3/">3.0帮助文档</a></li>
        <li><a target="_blank" href="http://www.dtcms.net/help/6.aspx">2.0帮助文档</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li> <a target="_blank" href="http://www.dtcms.net/content/about.aspx">关于我们</a> </li>
      </ul>
    </nav>
  </div>
</header>
<!-- Callout for the old docs link -->
<div class="container bs-docs-container">
  <div class="row">
    <div class="col-md-3">
      <div class="bs-sidebar hidden-print affix-top" role="complementary">
        <ul class="nav bs-sidenav">
          <li class="active"> <a href="./DTcms V4.0模板制作教程_files/DTcms V4.0模板制作教程.htm">一、模板标签语法</a>
            <ul class="nav">
              <li class=""><a href="http://www.dtcms.net/help4/#label-syntax-1">1.1 嵌入/模板路径</a></li>
              <li class=""><a href="http://www.dtcms.net/help4/#label-syntax-2">1.2 普通/数据变量</a></li>
              <li class=""><a href="http://www.dtcms.net/help4/#label-syntax-3">1.3 循环判断语句</a></li>
              <li class=""><a href="http://www.dtcms.net/help4/#label-syntax-4">1.4 获取/截取/格式转换</a></li>
              <li class=""><a href="http://www.dtcms.net/help4/#label-syntax-5">1.5 声明赋值语句</a></li>
            </ul>
          </li>
          <li class=""> <a href="http://www.dtcms.net/help4/#label-generic">二、内置通用标签</a>
            <ul class="nav">
              <li class=""><a href="http://www.dtcms.net/help4/#label-generic-1">2.1 系统配置标签(变量)</a></li>
              <li class=""><a href="http://www.dtcms.net/help4/#label-generic-2">2.2 全局通用标签(方法)</a></li>
              <li class=""><a href="http://www.dtcms.net/help4/#label-generic-3">2.3 频道调用标签(方法)</a></li>
              <li class=""><a href="http://www.dtcms.net/help4/#label-generic-4">2.4 类别调用标签(方法)</a></li>
              <li class=""><a href="http://www.dtcms.net/help4/#label-generic-5">2.5 评论调用标签(方法)</a></li>
              <li class=""><a href="http://www.dtcms.net/help4/#label-generic-6">2.6 会员调用标签(方法)</a></li>
              <li><a href="http://www.dtcms.net/help4/#label-generic-7">2.7 订单调用标签(方法)</a></li>
              <li><a href="http://www.dtcms.net/help4/#label-generic-8">2.8 购物车调用标签(方法)</a></li>
              <li><a href="http://www.dtcms.net/help4/#label-generic-9">2.9 配送方式调用标签(方法)</a></li>
              <li class=""><a href="http://www.dtcms.net/help4/#label-generic-10">2.10 支付方式调用标签(方法)</a></li>
            </ul>
          </li>
          <li class=""> <a href="http://www.dtcms.net/help4/#label-page">三、内置页面标签</a>
            <ul class="nav">
              <li class=""><a href="http://www.dtcms.net/help4/#label-page-1">3.1 频道页面变量与方法</a></li>
              <li class=""><a href="http://www.dtcms.net/help4/#label-page-2">3.2 类别页面变量与方法</a></li>
              <li class=""><a href="http://www.dtcms.net/help4/#label-page-3">3.3 会员页面变量与方法</a></li>
            </ul>
          </li>
          <li class=""><a href="http://www.dtcms.net/help4/#ask-question">四、模板常见问题</a></li>
        </ul>
      </div>
    </div>
    <div class="col-md-9" role="main">
      <!-- 标签语法
  ================================================== -->
      <div class="bs-docs-section">
        <div class="page-header">
          <h1 id="label-syntax">一、标签语法</h1>
        </div>
        <p class="lead">DTcms 模板语法和C#非常接近，4.0和3.0版本中，标签语法大同小异，依然符合于技术开发人员的编程习惯。如果你是一名程序员，下面的语法我相信只需要看一次便可牢牢记住各种标签的使用规则，所以你不必担心DTcms模板难掌握。如果非程序员，难度有所加大，毕竟我们考虑到了整个系统的扩展性和二次开发，所以比较偏向于技术开发人员。</p>
        <h2 id="label-syntax-1">1.1 页面嵌入与模板路径</h2>
        <h3>1.1.1 页面嵌套标签</h3>
        <p>如果想在一个模板页面中嵌入另一个模板页的内容可使用该标签，注意避免被嵌套的页面嵌套主模板页，这样会造成迭代循环。另外，嵌套的深度最多只能5层。其中src所指定的路径为当前相对路径，如src="common/_header.html"</p>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--一般在当前模板下使用可下面的嵌套标签--&gt;</span>
&lt;%template src="模板页面相对路径"%&gt;

<span class="comment">&lt;!--如需跨模板访问可使用下面的嵌套标签，一般插件模板使用较多，前提该模板须存在，否则访问不到--&gt;</span>
&lt;%template skin="模板目录名" src="模板页面相对路径"%&gt;
          </code></pre>
        </div>
        
        <h3>1.1.2 当前模板路径标签</h3>
        <p>因为3.0版本中增加分站的功能，所以这里和2.1及前版本的模板标签有所不同。输出不包含/，如：templates/green/images/logo.png，同一模板目录下使用第一个种标签即可</p>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--当前模板路径标签--&gt;</span>
&lt;%templateskin%&gt;

<span class="comment">&lt;!--访问其它模板的路径标签，前提该模板须存在--&gt;</span>
&lt;%templateskin="模板目录名"%&gt;
          </code></pre>
        </div>
        <h3>1.1.3 嵌入C#代码标签</h3>
        <p>如果其它标签无法实际你想要的效果，你可以试一下直接写C#代码，如意不能使用Response.Write</p>
        <div class="highlight">
          <pre><code class="language-html ruby">&lt;%csharp%&gt;
  <span class="regexp">//</span><span class="constant">C</span><span class="comment">#代码</span>
&lt;<span class="string">%/csharp%&gt;
          </span></code></pre>
        </div>
        <h3>1.1.4 引用命名空间标签</h3>
        <p>如果需要引用命名空间则需要使用该标签，注意此标签不能放在嵌套的页面且需要放置在模板页的最顶部</p>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：&lt;%namespace "DTcms.BLL"%&gt;--&gt;</span>
&lt;%namespace "命名空间"%&gt;
          </code></pre>
        </div>
        
        <h2 id="label-syntax-2">1.2 普通及数据变量</h2>
        <h3>1.2.1 普通变量标签</h3>
        <p>模板页的变量概念实际上就是C#的变量，在模板页调用时需加上大括号，这里往往和模板页的JS的方法体互相冲突，所以在写JS时，遇到大括号一定要换行。</p>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--直接变量--&gt;</span>
{varname}

<span class="comment">&lt;!--实体变量，如：{config.webname}--&gt;</span>
｛var.item｝</code></pre>
        </div>
        <h3>1.2.2 数据变量标签</h3>
        <p>数据变量一般在循环列表时使用到，另外在显示内容时也会用到</p>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--循环列表时的数据变量，如：{dr[title]}--&gt;</span>
{var[...]}

<span class="comment">&lt;!--显示实体数据变量，如：model.fields[title]--&gt;</span>
{var.item[...]}</code></pre>
        </div>
        
        <h2 id="label-syntax-3">1.3 循环判断语句</h2>
        <h3>1.3.1 loop循环标签</h3>
        <p>loop循环标签主要是数据列表中使用的，其中自带有行号变量datarow__loop__id，该变量是从1开始</p>
        <div class="bs-callout bs-callout-warning">
          <h4>参数说明：</h4>
          <p>datarow：DataRow类型的变量，同一页面内不可重复，否则编译出错</p>
          <p>datatable：DataTable类型的变量，使用前请确保该参数已声明赋值</p>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--loop循环标签--&gt;</span>
&lt;%loop datarow datatable%&gt;
  ...
&lt;%/loop%&gt;</code></pre>
        </div>
        <h3>1.3.2 foreach循环标签</h3>
        <p>foreach标签和C#的语法是一样的，写法也差不多，相信技术人员一看就懂。注意与loop标签不同的是它没有自带的行号变量，需要手动声明。</p>
        <div class="bs-callout bs-callout-warning">
          <h4>参数说明：</h4>
          <p>type：数据类型，如DataRow</p>
          <p>item：数据类型的变量名，自定义变量名</p>
          <p>list：数组、结构、对象、引用类型</p>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--foreach循环标签--&gt;</span>
&lt;%foreach(type item in list)%&gt;
  ...
&lt;%/foreach%&gt;</code></pre>
        </div>
        <h3>1.3.3 for循环标签</h3>
        <p>for标签和C#的语法也是一样的，一般很少用到。</p>
        <div class="bs-callout bs-callout-warning">
          <h4>参数说明：</h4>
          <p>i：整型变量</p>
          <p>count：整型变量</p>
        </div>
        <div class="highlight">
          <pre><code class="language-html ruby">&lt;!--<span class="keyword">for</span>循环标签--&gt;
&lt;%<span class="keyword">for</span>(int i=<span class="number">0</span>;i&lt;=count;i++)%&gt;
  ...
&lt;<span class="string">%/for%&gt;</span></code></pre>
        </div>
        <h3>1.3.4 if判断语句标签</h3>
        <p>if判断语句与C#的语法一样，3.0支持二种写法，保留旧的写法</p>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--第一种格式写法(推荐)--&gt;</span>
&lt;%if(...)%&gt;
  ...
&lt;%else if(...)%&gt;
  ...
&lt;%/if%&gt;

<span class="comment">&lt;!--第二种格式写法(旧写法)--&gt;</span>
&lt;%if ...%&gt;
  ...
&lt;%else if ...%&gt;
  ...
&lt;%/if%&gt;</code></pre>
        </div>
        <h3>1.3.5 continue退出当前循环标签</h3>
        <p>循环标签中分支用以结束当前循环，直接进入下一次循环的标签，使用方式同传统程序一致。</p>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--continue标签--&gt;</span>
&lt;%continue%&gt;

<span class="comment">&lt;!--使用示例，当i等于5时退回并进入下一条循环--&gt;</span>
&lt;%for(int i=0;i&lt;=count;i++)%&gt;
  &lt;%if(i==5)%&gt;
    &lt;%continue%&gt;
  &lt;%/if%&gt;
&lt;%/for%&gt;</code></pre>
        </div>
        <h3>1.3.6 break结束循环标签</h3>
        <p>在循环标签中用以结束循环，进入后续程序的标签，使用方式同传统程序一致 。</p>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--break标签--&gt;</span>
&lt;%break%&gt;

<span class="comment">&lt;!--使用示例，当i大于5时结束循环--&gt;</span>
&lt;%for(int i=0;i&lt;=count;i++)%&gt;
  &lt;%if(i&gt;5)%&gt;
    &lt;%break%&gt;
  &lt;%/if%&gt;
&lt;%/for%&gt;</code></pre>
        </div>
        
        <h2 id="label-syntax-4">1.4 获取传参、截取字符串、格式转换标签</h2>
        <h3>1.4.1 获取GET传输参数标签</h3>
        <p>获取URL地址GET传输的参数值</p>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--request标签，varname为参数名--&gt;</span>
{request[varname]}</code></pre>
        </div>
        <h3>1.4.2 截取字符串长度标签</h3>
        <p>当一个字符串的长度大于你想要的值时可使用该标签</p>
        <div class="bs-callout bs-callout-warning">
          <h4>参数说明：</h4>
          <p>num：int类型，字符串长度 </p>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--cutstring标签，{...}为变量--&gt;</span>
&lt;%cutstring({...},num)%&gt;</code></pre>
        </div>
        <h3>1.4.3 日期格式转换标签</h3>
        <p>把日期字符串转换成你想要的格式</p>
        <div class="bs-callout bs-callout-warning">
          <h4>参数说明：</h4>
          <p>strFormat：日期格式 </p>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--datetostr标签，{...}为变量--&gt;</span>
&lt;%datetostr({...},strFormat)%&gt;

<span class="comment">&lt;!--示例一：输出年月日格式的日期--&gt;</span>
&lt;%datetostr({varname},yyyy年MM月dd日)%&gt;

<span class="comment">&lt;!--示例二：输出年月日时分秒格式的日期--&gt;</span>
&lt;%datetostr({varname},yyyy年MM月dd日HH时mm分ss秒)%&gt;</code></pre>
        </div>
        <h3>1.4.4 整型格式转换标签</h3>
        <p>当一个字符串的想转换成一个整型的数字时可使用该标签</p>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--strtoint标签，{...}为字符串变量--&gt;</span>
{strtoint({...})}</code></pre>
        </div>
        <h3>1.4.5 直接输出内容标签</h3>
        <p>当一个方法返回的是字符串内容，而我们又想直接在模板页中直接输出可使用该标签。该标签支持两种写法，推荐用第一种。</p>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--第一种写法(推荐)--&gt;</span>
&lt;%=方法名(参数一,参数二,...)%&gt;

<span class="comment">&lt;!--第二种写法(旧写法)--&gt;</span>
&lt;%write 方法名(参数一，参数二,...)%&gt;</code></pre>
        </div>
        
        <h2 id="label-syntax-5">1.5 声明变量与赋值标签</h2>
        <p>和C#语法基本一致，需要声明或在需要接受一个方法返回的内容时可以使用该标签。</p>
        <div class="bs-callout bs-callout-warning">
          <h4>参数说明：</h4>
          <p>type：可选，变量的类型，如果有type则首先创建对象再赋值，否则直接赋值 </p>
          <p>ref：变量名，同一页面内不可重复</p>
          <p>expression：变量、常量或方法都可以</p>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--第一种写法(推荐)--&gt;</span>
&lt;%set [type] ref=expression<strong></strong>%&gt;

<span class="comment">&lt;!--示例一--&gt;</span>
&lt;%set int num=1%&gt;
<span class="comment">&lt;!--再次使用时不用再声明--&gt;</span>
&lt;%set num=2%&gt;

<span class="comment">&lt;!--示例二--&gt;</span>
&lt;%set DataTable dt=get_list(参数一,参数二,...)%&gt;</code></pre>
        </div>
		<div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--第二种写法(旧写法)--&gt;</span>
&lt;%set [(type)]{ref}=expression<strong></strong>%&gt;

<span class="comment">&lt;!--示例一--&gt;</span>
&lt;%set (int){num}=1%&gt;
<span class="comment">&lt;!--再次使用时不用再声明--&gt;</span>
&lt;%set {num}=2%&gt;

<span class="comment">&lt;!--示例二--&gt;</span>
&lt;%set (DataTable){dt}=get_list(参数一,参数二,...)%&gt;</code></pre>
        </div>

      </div>
      <!-- 通用标签
  ================================================== -->
      <div class="bs-docs-section">
        <div class="page-header">
          <h1 id="label-generic">二、通用标签</h1>
        </div>
        <p class="lead">通用标签在所有模板页面都可以使用，如果您下载的是DTcms的源码版，请查看DTcms.Web.UI项目下的Label文件夹，如果默认标签不够用的情况下，你也可以在里面新增一些自定义的标签，但记住编译一下整个项目哦！</p>
        <h2 id="label-generic-1">2.1 系统配置标签(变量)</h2>
        <p>系统配置的一些信息，实际上是源码DTcms.Model项目中的sys_config.cs里面的属性，里面都有详细的备注与注释</p>
        <div class="table-responsive">
          <table class="table table-bordered table-striped">
            <colgroup>
              <col class="col-xs-1">
              <col class="col-xs-2">
              <col class="col-xs-7">
            </colgroup>
            <thead>
              <tr>
                <th width="26%">标签</th>
                <th width="42%">描述</th>
                <th width="32%">示例</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>
                  {config.webname}
                </td>
                <td>主站名称</td>
                <td>动力启航</td>
              </tr>
              <tr>
                <td>{config.weburl}</td>
                <td>主站域名</td>
                <td>http://demo.dtcms.net</td>
              </tr>
              <tr>
                <td>{config.webcompany}</td>
                <td>公司名称</td>
                <td>XX软件有限公司</td>
              </tr>
              <tr>
                <td>{config.webaddress}</td>
                <td>公司地址</td>
                <td>XX省XX市XX区XX号</td>
              </tr>
              <tr>
                <td>{config.webtel}</td>
                <td>联系电话</td>
                <td>020-22255432</td>
              </tr>
              <tr>
                <td>{config.webfax}</td>
                <td>传真号码</td>
                <td>020-22255432</td>
              </tr>
              <tr>
                <td>{config.webmail}</td>
                <td>管理员邮箱</td>
                <td>info@abc.com</td>
              </tr>
              <tr>
                <td>{config.webcrod}</td>
                <td>网站备案号</td>
                <td>粤TC/ICP备XX号</td>
              </tr>
              <tr>
                <td>{config.webpath}</td>
                <td>网站安装目录，/代表放在根目录</td>
                <td>/</td>
              </tr>
              <tr>
                <td>{config.webmanagepath}</td>
                <td>网站后台管理目录</td>
                <td>admin</td>
              </tr>
              <tr>
                <td>{config.staticstatus}</td>
                <td>是否开启生成静态，0不开启，1伪静态，2全静态</td>
                <td>1</td>
              </tr>
              <tr>
                <td>{config.staticextension}</td>
                <td>生成静态扩展名</td>
                <td>html</td>
              </tr>
              <tr>
                <td>{config.mobilestatus}</td>
                <td>手机网站状态，0关闭1开启</td>
                <td>1</td>
              </tr>
              <tr>
                <td>{config.mobiledomain}</td>
                <td>手机网站绑定域名</td>
                <td>m.dtcms.net</td>
              </tr>
              <tr>
                <td>{config.memberstatus}</td>
                <td>开启会员功能，0不开启，1开启</td>
                <td>1</td>
              </tr>
              <tr>
                <td>{config.commentstatus}</td>
                <td>开启评论审核，0不审核，1开启审核机制</td>
                <td>0</td>
              </tr>
              <tr>
                <td>{config.logstatus}</td>
                <td>后台管理日志，0关闭，1开启</td>
                <td>1</td>
              </tr>
              <tr>
                <td>{config.webstatus}</td>
                <td>是否关闭网站，0正常，1关闭</td>
                <td>0</td>
              </tr>
              <tr>
                <td>{config.webclosereason}</td>
                <td>网站关闭原因描述</td>
                <td>网站正在维护，请稍候访问...</td>
              </tr>
              <tr>
                <td>{config.webcountcode}</td>
                <td>网站统计代码，支持HTML</td>
                <td>&lt;script&gt;...&lt;/script&gt;</td>
              </tr>
              <tr>
                <td>{config.smsapiurl}</td>
                <td>短信API地址</td>
                <td>http://...</td>
              </tr>
              <tr>
                <td>{config.smsusername}</td>
                <td>短信平台登录账户名</td>
                <td>test</td>
              </tr>
              <tr>
                <td>{config.smspassword}</td>
                <td>短信平台登录密码，MD5加密字符串</td>
                <td>a34de42fededferkc63fe</td>
              </tr>
              <tr>
                <td>{config.smsnickname}</td>
                <td>手机短信签名</td>
                <td>动力启航</td>
              </tr>
              <tr>
                <td>{config.emailsmtp}</td>
                <td>邮件STMP服务器</td>
                <td>smtp.163.com</td>
              </tr>
              <tr>
                <td>{config.emailssl}</td>
                <td>SSL加密连接</td>
                <td>1</td>
              </tr>
              <tr>
                <td>{config.emailport}</td>
                <td>邮件SMTP端口</td>
                <td>25</td>
              </tr>
              <tr>
                <td>{config.emailfrom}</td>
                <td>发件人地址</td>
                <td>service@abc.com</td>
              </tr>
              <tr>
                <td>{config.emailusername}</td>
                <td>邮箱账号</td>
                <td>info@abc.com</td>
              </tr>
              <tr>
                <td>{config.emailpassword}</td>
                <td>邮箱密码，内置加密算法</td>
                <td></td>
              </tr>
              <tr>
                <td>{config.emailnickname}</td>
                <td>发件人昵称</td>
                <td>网站管理员</td>
              </tr>
              <tr>
                <td>{config.filepath}</td>
                <td>附件上传目录名</td>
                <td>upload</td>
              </tr>
              <tr>
                <td>{config.filesave}</td>
                <td>附件保存方式，1按年月日保存，2按年月/日/保存</td>
                <td>1</td>
              </tr>
              <tr>
                <td>{config.fileextension}</td>
                <td>附件上传类型，以逗号分隔开</td>
                <td>gif,png,doc</td>
              </tr>
              <tr>
                <td>{config.videoextension}</td>
                <td>视频上传类型，以逗号分隔开</td>
                <td>mp4,flv</td>
              </tr>
              <tr>
                <td>{config.attachsize}</td>
                <td>附件上传大小，单位为KB</td>
                <td>2048</td>
              </tr>
              <tr>
                <td>{config.videosize}</td>
                <td>视频上传大小，单位为KB</td>
                <td>2048</td>
              </tr>
              <tr>
                <td>{config.imgsize}</td>
                <td>图片上传大小，单位为KB</td>
                <td>1024</td>
              </tr>
              <tr>
                <td>{config.imgmaxheight}</td>
                <td>图片最大高度(像素)</td>
                <td>1024</td>
              </tr>
              <tr>
                <td>{config.imgmaxwidth}</td>
                <td>图片最大宽度(像素)</td>
                <td>1024</td>
              </tr>
              <tr>
                <td>{config.thumbnailheight}</td>
                <td>生成缩略图高度(像素)</td>
                <td>1024</td>
              </tr>
              <tr>
                <td>{config.thumbnailwidth}</td>
                <td>生成缩略图宽度(像素)</td>
                <td>1024</td>
              </tr>
              <tr>
                <td>{config.watermarktype}</td>
                <td>图片水印类型，0关闭，1文字，2图片</td>
                <td>1</td>
              </tr>
              <tr>
                <td>{config.watermarkposition}</td>
                <td>图片水印位置，1-9</td>
                <td>9</td>
              </tr>
              <tr>
                <td>{config.watermarkimgquality}</td>
                <td>图片生成质量，0-100</td>
                <td>80</td>
              </tr>
              <tr>
                <td>{config.watermarkpic}</td>
                <td>图片水印文件</td>
                <td>watermark.png</td>
              </tr>
              <tr>
                <td>{config.watermarktransparency}</td>
                <td>水印透明度，1-10</td>
                <td>5</td>
              </tr>
              <tr>
                <td>{config.watermarktext}</td>
                <td>水印文字</td>
                <td>动力启航</td>
              </tr>
              <tr>
                <td>{config.watermarkfont}</td>
                <td>文字字体</td>
                <td>Arial</td>
              </tr>
              <tr>
                <td>{config.watermarkfontsize}</td>
                <td>水印文字大小(像素)</td>
                <td>12</td>
              </tr>
            </tbody>
          </table>
          
          <p>当前站点的配置信息，只能在当前模板页面中使用这些标签，它和上面的系统配置不同，例如当前访问的是站点A，加载的就是站点A的配置信息。</p>
          <div class="table-responsive">
          <table class="table table-bordered table-striped">
            <colgroup>
              <col class="col-xs-1">
              <col class="col-xs-2">
              <col class="col-xs-7">
            </colgroup>
            <thead>
              <tr>
                <th width="26%">标签</th>
                <th width="42%">描述</th>
                <th width="32%">示例</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>
                  {site.name}
                </td>
                <td>网站名称</td>
                <td>动力启航</td>
              </tr>
              <tr>
                <td>
                  {site.domain}
                </td>
                <td>网站域名</td>
                <td>www.abc.com</td>
              </tr>
              <tr>
                <td>{site.logo}</td>
                <td>网站LOGO</td>
                <td>/upload/20131220/201312203234212.png</td>
              </tr>
              <tr>
                <td>{site.company}</td>
                <td>公司名称</td>
                <td>XX软件有限公司</td>
              </tr>
              <tr>
                <td>{site.address}</td>
                <td>公司地址</td>
                <td>XX省XX市XX区XX号</td>
              </tr>
              <tr>
                <td>{site.tel}</td>
                <td>联系电话</td>
                <td>020-22255432</td>
              </tr>
              <tr>
                <td>{site.fax}</td>
                <td>传真号码</td>
                <td>020-22255432</td>
              </tr>
              <tr>
                <td>{site.email}</td>
                <td>管理员邮箱</td>
                <td>info@abc.com</td>
              </tr>
              <tr>
                <td>{site.crod}</td>
                <td>网站备案号</td>
                <td>粤TC/ICP备XX号</td>
              </tr>
              <tr>
                <td>{site.copyright}</td>
                <td>网站版权信息，支持HTML</td>
                <td>版权所有 动力启航</td>
              </tr>
               <tr>
                <td>{site.seo_title}</td>
                <td>SEO标题</td>
                <td>动力启航_asp.net开源</td>
              </tr>
              <tr>
                <td>{site.seo_keyword}</td>
                <td>SEO页面关健词，255字符内</td>
                <td>asp.net开源,C#开源</td>
              </tr>
              <tr>
                <td>{site.seo_description}</td>
                <td>SEO页面描述，255字符内</td>
                <td>DTcms 100%开源的CMS</td>
              </tr>
              
            </tbody>
          </table>
          
        </div>
        
        <h2 id="label-generic-2">2.2 全局通用标签(方法)</h2>
        <p>位于DTcms.Web.UI/BasePage.cs类里面的方法，如果你是一个程序员，随时可以根据自己的要求添加你自己的方法</p>
        <h3>2.2.1 统一链接标签</h3>
        <p>主要对DTcms.Web\xmlconfig\urls.config文件里的节点读取和匹配。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>key：URL配置的名称</p>
          <p>params：Object参数列表</p>
        </div>
        <div class="highlight">
          <pre><code class="language-html javascript">&lt;%linkurl(key,params)%&gt;

<span class="xml"><span class="comment">&lt;!--示例一：首页链接--&gt;</span>
&lt;%linkurl("index")%&gt;

<span class="comment">&lt;!--示例二：关于我们链接--&gt;</span>
&lt;%linkurl("content","about")%&gt;</span></code></pre>
        </div>
        <h3>2.2.2 分页页码标签</h3>
        <p>输入分页页码按钮链接，需要和pagination.css一起使用。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>pagesize：每页显示条数</p>
          <p>pageindex：当前页码</p>
          <p>totalcount：总记录数</p>
          <p>key：URL配置的名称</p>
          <p>params： Object参数列表</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_page_link(pagesize, pageindex, totalcount, key, params)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml">
<span class="comment">&lt;!--示例一：列表分页，其中“__id__”为页码数字，系统自动替换--&gt;</span>
&lt;%set string pagelist=get_list(12,page,totalcount,"news_list", category_id, "__id__")%&gt;
<span class="comment">&lt;!--放置页码列表，<em>class="flickr"里面的样式可以修改成不同的23种风格</em>--&gt;</span>
<span class="tag">&lt;<span class="title">div</span> <span class="attribute">class</span>=<span class="value">"flickr"</span>&gt;</span>{pagelist}<span class="tag">&lt;/<span class="title">div</span>&gt;</span></code></pre>
        </div>
        <h3>2.2.3 调用插件列表标签</h3>
        <p>主要用于主模板面调用插件方法，为了防止插件卸载后页面出错，建立使用该方法调用。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>assemblyName：命名空间全局限定名</p>
          <p>className：类名</p>
          <p>methodName：方法名称</p>
          <p>params：Object参数</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_plugin_method(assemblyName, className, methodName, params)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例一：输出留言插件列表的最新4条留言信息--&gt;</span>
&lt;%set DataTable flist=get_plugin_method("DTcms.Web.Plugin.Feedback", "feedback", "get_feedback_list", 4, "is_lock=0")%&gt;
<span class="comment">&lt;!--使用foreach循环输出--&gt;</span>
&lt;%foreach(DataRow dr in flist.Rows)%&gt;
  留言标题：{dr[title]}
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h2 id="label-generic-3">2.3 频道调用标签(方法)</h2>
        <p>位于DTcms.Web.UI/Label/article.cs类里面的方法，如果你是一个程序员，随时可以根据自己的要求添加你自己的方法</p>
        <div class="bs-callout bs-callout-warning">
          <h4>频道列表页已声明变量：</h4>
          <p>page(当前页码)、category_id(当前类别ID)、totalcount(数据的总记录)、pagelist(分页字符串)，可直接使用这些变量</p>
          <h4>频道详细页已声明变量：</h4>
          <p>id(当前文章ID)、call_index(调用别名)、model(当前文章Model实体类，可查阅数据字典)，可直接使用这些变量</p>
        </div>
        <h3>2.3.1 查询最新文章列表标签</h3>
        <p>可根据条件查询前几条最新文章列表，用循环语句输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>channel_name：频道名称</p>
          <p>top：显示的条数，0为显示所有</p>
          <p>strwhere：SQL查询语句</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_article_list(channel_name, top, strwhere)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例一：显示新闻频道最新8条信息，新闻频道的名称为“news”--&gt;</span>
&lt;%set DataTable nlist=get_article_list("news", 8, "status=0")%&gt;
<span class="comment">&lt;!--使用foreach循环输出--&gt;</span>
&lt;%foreach(DataRow dr in nlist.Rows)%&gt;
  新闻标题：{dr[title]}
&lt;%/foreach%&gt;

<span class="comment">&lt;!--示例二：显示新闻频道最新推荐8条信息，新闻频道的名称为“news”--&gt;</span>
&lt;%set DataTable nlist=get_article_list("news", 8, "status=0 and is_red=1")%&gt;
<span class="comment">&lt;!--使用foreach循环输出--&gt;</span>
&lt;%foreach(DataRow dr in nlist.Rows)%&gt;
  新闻标题：{dr[title]}
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h3>2.3.2 按分类查询最新文章列表标签</h3>
        <p>可根据分类ID与条件查询前几条最新文章列表，用循环语句输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>channel_name：频道名称</p>
          <p>category_id：栏目分类ID</p>
          <p>top：显示的条数，0为显示所有</p>
          <p>strwhere：SQL查询语句</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_article_list(channel_name, category_id, top, strwhere)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例一：显示新闻频道分类ID为1的最新8条信息--&gt;</span>
&lt;%set DataTable nlist=get_article_list("news", 1, 8, "status=0")%&gt;
<span class="comment">&lt;!--使用foreach循环输出--&gt;</span>
&lt;%foreach(DataRow dr in nlist.Rows)%&gt;
  新闻标题：{dr[title]}
&lt;%/foreach%&gt;

<span class="comment">&lt;!--示例二：查询新闻频道分类ID为1的最新8条信息，只显示前4条--&gt;</span>
&lt;%set DataTable nlist=get_article_list("news", 8, "status=0")%&gt;
<span class="comment">&lt;!--使用loop循环输出--&gt;</span>
&lt;%loop ndr nlist%&gt;
  &lt;%if(ndr__loop__id&gt;4)%&gt;
    &lt;%break%&gt;
  &lt;%/if%&gt;
  新闻标题：{ndr[title]}
&lt;%/loop%&gt;</code></pre>
        </div>
        
        <h3>2.3.3 查询并排序文章列表标签</h3>
        <p>可根据分类ID与条件查询前几条最新文章列表并进行排序，用循环语句输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>channel_name：频道名称</p>
          <p>category_id：栏目分类ID，0显示所有分类</p>
          <p>top：显示的条数，0为显示所有</p>
          <p>strwhere：SQL查询语句</p>
          <p>orderby：SQL排序语句，asc顺序desc倒序</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_article_list(channel_name, category_id, top, strwhere, orderby)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例一：查询新闻频道分类ID为1的8条信息，按字段sort_id数字倒序排序--&gt;</span>
&lt;%set DataTable nlist=get_article_list("news", 1, 8, "status=0", "sort_id desc")%&gt;
<span class="comment">&lt;!--使用foreach循环输出--&gt;</span>
&lt;%foreach(DataRow dr in nlist.Rows)%&gt;
  新闻标题：{dr[title]}
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h3>2.3.4 文章列表分页标签</h3>
        <p>此标签只允许在频道列表页中使用，分页需结合pagination.css。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>channel_name：频道名称</p>
          <p>category_id：栏目分类ID，0显示所有分类</p>
          <p>page_size：每页显示数量</p>
          <p>page_index：当前页码，系统默认为page</p>
          <p>strwhere：SQL查询语句</p>
          <p>totalcount：数据总数，系统默认为totalcount</p>
          <p>pagelist：分页字符串变量，系统默认为pagelist</p>
          <p>key：URL配置名称</p>
          <p>params：URL传输参数</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_article_list(channel_name, category_id, page_size, page_index, strwhere, totalcount, pagelist, key, params)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例一：查询新闻频道分类ID为1的所有记录--&gt;</span>
&lt;%set DataTable nlist=get_article_list("news", 1, pagesize, page, "status=0", totalcount, pagelist, "news_list", category_id, "__id__")%&gt;
<span class="comment">&lt;!--使用foreach循环输出--&gt;</span>
&lt;%foreach(DataRow dr in nlist.Rows)%&gt;
  新闻标题：{dr[title]}
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h3>2.3.5 根据调用别名取得内容标签</h3>
        <p>此标签适用于单页，在只需要显示该文单详细内容时使用。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>call_index：该条文章的调用别名，string类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_article_content(call_index)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例一：输出关于我们单页的内容--&gt;</span>
&lt;%=get_article_content("about")%&gt;</code></pre>
        </div>
        
        <h3>2.3.6 根据文章的ID返回图片路径标签</h3>
        <p>此标签适用于只知道文章的ID情况下想得到该文章的图片路径。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>article_id：文章ID，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_article_img_url(article_id)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：显示文章ID为5的图片--&gt;</span>
<span class="tag">&lt;<span class="title">img</span> <span class="attribute">src</span>=<span class="value">"&lt;%=get_article_img_url(5)%&gt;"</span> /&gt;</span></code></pre>
        </div>
        
        <h3>2.3.7 返回对应信息扩展字段值标签</h3>
        <p>使用此标签时会判断当前用户是否登录，如尚未登录则返回-1。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>article_id：文章ID，int类型</p>
          <p>field_name：扩展字段名</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_article_field(article_id, field_name)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：显示商品文章ID为5，扩展字段名为viefy的值--&gt;</span>
扩展字段值：&lt;%=get_article_field(5, "viefy")%&gt;</code></pre>
        </div>
        
        <h2 id="label-generic-4">2.4 类别调用标签(方法)</h2>
        <p>位于DTcms.Web.UI/Label/category.cs类里面的方法，如果你是一个程序员，随时可以根据自己的要求添加你自己的方法</p>
        <h3>2.4.1 返回当前类别名称标签</h3>
        <p>一般用于频道列表页或者详细页，可根据类别ID查找类别的标题。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>category_id：栏目ID，int类型</p>
          <p>default_value：默认值，当该类别不存在时显示默认值，string类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_category_title(category_id, default_value)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：在文章详细页中显示当前文章的类别名称，model是实体--&gt;</span>
当前类别：&lt;%=get_category_title(model.category_id, "所有类别")%&gt;</code></pre>
        </div>
        
        <h3>2.4.2 返回类别一个实体类标签</h3>
        <p>此标签适用于只知道类别ID想查找该类别的其它信息时使用，返回类型为DTcms.Model.article_category。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>category_id：栏目ID，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_category_model(category_id)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：查找类别ID为5的其它属性信息--&gt;</span>
&lt;%set DTcms.Model.article_category cmodel=get_category_model(5)%&gt;
&lt;%if(cmodel!=null)%&gt;
  类别名称：{cmodel.title}
  类别SEO标题：{cmodel.seo_title}
&lt;%/if%&gt;</code></pre>
        </div>
        
        <h3>2.4.3 返回类别面包屑导航标签</h3>
        <p>此标签适用于频道的列表页或详细页，根据当前的类别ID显示面包屑导航。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>urlKey：url配置的名称，string类型</p>
          <p>category_id：栏目ID，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_category_menu(url_key, category_id)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：根据当前URL配置名为news_list和类别ID变量为category_id输出面包屑导航--&gt;</span>
&lt;%=get_category_menu("news_list", category_id)%&gt;</code></pre>
        </div>
        
        <h3>2.4.4 类别列表标签</h3>
        <p>显示该类别下所有的子类别，当父类别的ID为0时显示该频道所有类别，以循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>channel_name：当前频道的名称，string类型</p>
          <p>parent_id：父类别的ID，0为所有类别，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_category_list(channel_name, parent_id)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例一：显示频道名称为news的所有类别--&gt;</span>
&lt;%set DataTable dt=get_category_list("news", 0)%&gt;
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  类别名称：{dr[title]}
&lt;%/foreach%&gt;

<span class="comment">&lt;!--示例二：显示频道名称为news，父类别ID为5的所有子类别--&gt;</span>
&lt;%set DataTable dt=get_category_list("news", 5)%&gt;
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  类别名称：{dr[title]}
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h3>2.4.5 类别列表(只显示一级分类)标签</h3>
        <p>根据父ID查询子类别列表，注意只返回一层，不查找子类的子类，以循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>channel_name：当前频道的名称，string类型</p>
          <p>parent_id：父类别的ID，0为顶级分类，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_category_child_list(channel_name, parent_id)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：根据当前的类别父ID为5，输出子类别下二层子分类--&gt;</span>
&lt;%set DataTable dt=get_category_child_list("news", 0)%&gt;
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  二级类别名称：{dr[title]}
  <span class="comment">&lt;!--注意：这里根据二级类别ID查找下级类别，其中用到了将字符串转换为整型的标签--&gt;</span>
  &lt;%set DataTable dt2=get_category_child_list("news", {strtoint({dr[id]})})%&gt;
  &lt;%foreach(DataRow dr2 in dt2.Rows)%&gt;
    三级类别名称：{dr2[title]}
  &lt;%/foreach%&gt;
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h2 id="label-generic-5">2.5 评论调用标签(方法)</h2>
        <p>位于DTcms.Web.UI/Label/article_comment.cs类里面的方法，如果你是一个程序员，随时可以根据自己的要求添加你自己的方法</p>
        <h3>2.5.1 返回评论数据总数标签</h3>
        <p>根据当前文章的ID查询该文章的评论总数。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>article_id：当前文章ID，int类型</p>
          <p>strwhere：SQL查询语句</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_comment_count(article_id, strwhere)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：输出当前文章ID为5的评论总数--&gt;</span>
评论总数：&lt;%=get_comment_count(5, "is_lock=0")%&gt;</code></pre>
        </div>
        
        <h3>2.5.2 评论列表标签</h3>
        <p>根据条件显示前几条评论列表，用循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>article_id： 当前文章ID，int类型</p>
          <p>top：显示条数，为0时显示所有，int类型</p>
          <p>strwhere： SQL查询语句</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_comment_list(article_id, top, strwhere)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：当前文章ID为5，输出前8条最新评论内容--&gt;</span>
&lt;%set DataTable dt=get_comment_list(5, 8, "is_lock=0")%&gt;
&lt;%loop dr dt%&gt;
  第{dr__loop__id}楼：{dr[content]}
&lt;%/loop%&gt;</code></pre>
        </div>
        
        <h3>2.5.3 评论分页列表标签</h3>
        <p>根据条件显示当前页的评论列表，用循环输出，一般情况下很少使用到该标签。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>article_id： 当前文章ID，int类型</p>
          <p>page_size：每页显示的记录数量，int类型</p>
          <p>page_index：当前的页码，int类型</p>
          <p>strwhere： SQL查询语句</p>
          <p>totalcount： 数据总记录数</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_comment_list(article_id, page_size, page_index, strwhere, out totalcount)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：当前文章ID为5，每页为10条记录，输出第一页评论列表--&gt;</span>
&lt;%set int totalcount=0%&gt;
&lt;%set DataTable dt=get_comment_list(5, 10, 1, "is_lock=0", out totalcount)%&gt;
&lt;%loop dr dt%&gt;
  第{dr__loop__id}楼：{dr[content]}
&lt;%/loop%&gt;</code></pre>
        </div>
        
        <h2 id="label-generic-6">2.6 会员调用标签(方法)</h2>
        <p>位于DTcms.Web.UI/Label/users.cs类里面的方法，如果你是一个程序员，随时可以根据自己的要求添加你自己的方法。</p>
        <h3>2.6.1 第三方登录应用列表标签</h3>
        <p>适用于在会员登录模板页面列出所有的第三方登录方式应用列表供用户选择</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>top： 显示条数，0为显示所有，int类型</p>
          <p>strwhere： SQL查询语句</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_oauth_app_list(top, strwhere)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：显示所有可用的第三方登录按钮--&gt;</span>
&lt;%set DataTable olist=get_oauth_app_list(0, "")%&gt;
&lt;%foreach(DataRow dr in olist.Rows)%&gt;
  <span class="tag">&lt;<span class="title">a</span> <span class="attribute">title</span>=<span class="value">"{dr[title]}"</span> <span class="attribute">href</span>=<span class="value">"{config.webpath}api/oauth/{dr[api_path]}/index.aspx"</span>&gt;</span>
    <span class="tag">&lt;<span class="title">img</span> <span class="attribute">src</span>=<span class="value">"{dr[img_url]}"</span> /&gt;</span>
  <span class="tag">&lt;/<span class="title">a</span>&gt;</span>
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h3>2.6.2 根据用户名显示头像路径标签</h3>
        <p>适用于在会员模板页面根据用户名显示头像。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>user_name： 用户名，string类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_user_avatar(user_name)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：显示用户名为test的头像--&gt;</span>
<span class="tag">&lt;<span class="title">img</span> <span class="attribute">src</span>=<span class="value">"&lt;%=get_user_avatar("</span><span class="attribute">test</span>")%&gt;</span>" /&gt;</code></pre>
        </div>
        
        <h3>2.6.3 统计短消息数量标签</h3>
        <p>根据SQL查询条件返回对应的短消息总记录数，相关字段说明请查阅DTcms.Model/user_message.cs类文件。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>strwhere： SQL查询语句</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_user_message_count(strwhere)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：显示用户名为test的短消息记录总数--&gt;</span>
未读短消息：&lt;%=get_user_message_count("type&lt;3 and is_read=0 and accept_user_name='test'")%&gt;条
已读短消息：&lt;%=get_user_message_count("type&lt;3 and is_read=1 and accept_user_name='test'")%&gt;条</code></pre>
        </div>
        
        <h3>2.6.4 短消息列表标签</h3>
        <p>根据SQL查询条件返回对应的短消息列表，用循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>top： 显示条数，0为显示所有，int类型</p>
          <p>strwhere： SQL查询语句</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_user_message_list(top, strwhere)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：显示用户名为test的未读短消息列表--&gt;</span>
&lt;%set DataTable dt=get_user_message_list(0, "type&lt;3 and is_read=0 and accept_user_name='test'")%&gt;
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  短消息标题：{dr[title]}
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h3>2.6.5 短信息分页列表标签</h3>
        <p>根据SQL查询条件返回对应的短消息分页列表，用循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>page_size： 每页显示条数，int类型</p>
          <p>page_index： 当前页码，int类型</p>
          <p>strwhere： SQL查询语句</p>
          <p>totalcount： 记录总数，out参数，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_user_message_list(page_size, page_index, strwhere, out totalcount)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：显示用户名为test短消息收件箱列表--&gt;</span>
<span class="comment">&lt;!--取得一个DataTable，page为当前页码变量，totalcount为已声明的变量--&gt;</span>
&lt;%set DataTable dt=get_user_message_list(10, page, "accept_user_name='test' and type=2", out totalcount)%&gt;
<span class="comment">&lt;!--取得分页页码列表，action为变量，相关说明请查阅get_page_link分页标签--&gt;</span>
&lt;%set string pagelist=get_page_link(10, page, totalcount, "usermessage", action, "__id__")%&gt;
<span class="comment">&lt;!--使用循环输出--&gt;</span>
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  短消息标题：{dr[title]}
&lt;%/foreach%&gt;
记录总数：{totalcount}
页码：{pagelist}</code></pre>
        </div>
        
        <h3>2.6.6 积分明细分页列表标签</h3>
        <p>根据SQL查询条件返回对应的积分明细分页列表，用循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>page_size： 每页显示条数，int类型</p>
          <p>page_index： 当前页码，int类型</p>
          <p>strwhere： SQL查询语句</p>
          <p>totalcount： 记录总数，out参数，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_user_point_list(page_size, page_index, strwhere, out totalcount)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：显示用户名为test积分明细分页列表--&gt;</span>
<span class="comment">&lt;!--取得一个DataTable，page为当前页码变量，totalcount为已声明的变量--&gt;</span>
&lt;%set DataTable dt=get_user_point_list(10, page, "user_name='test'", out totalcount)%&gt;
<span class="comment">&lt;!--取得分页页码列表，action为变量，相关说明请查阅get_page_link分页标签--&gt;</span>
&lt;%set string pagelist=get_page_link(10, page, totalcount, "userpoint", action, "__id__")%&gt;
<span class="comment">&lt;!--使用循环输出--&gt;</span>
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  ...
&lt;%/foreach%&gt;
记录总数：{totalcount}
页码：{pagelist}</code></pre>
        </div>
        
        <h3>2.6.7 余额明细分页列表标签</h3>
        <p>根据SQL查询条件返回对应的余额明细分页列表，用循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>page_size： 每页显示条数，int类型</p>
          <p>page_index： 当前页码，int类型</p>
          <p>strwhere： SQL查询语句</p>
          <p>totalcount： 记录总数，out参数，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_user_amount_list(page_size, page_index, strwhere, out totalcount)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：显示用户名为test余额明细分页列表--&gt;</span>
<span class="comment">&lt;!--取得一个DataTable，page为当前页码变量，totalcount为已声明的变量--&gt;</span>
&lt;%set DataTable dt=get_user_amount_list(10, page, "user_name='test'", out totalcount)%&gt;
<span class="comment">&lt;!--取得分页页码列表，action为变量，相关说明请查阅get_page_link分页标签--&gt;</span>
&lt;%set string pagelist=get_page_link(10, page, totalcount, "useramount", action, "__id__")%&gt;
<span class="comment">&lt;!--使用循环输出--&gt;</span>
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  ...
&lt;%/foreach%&gt;
记录总数：{totalcount}
页码：{pagelist}</code></pre>
        </div>
        
        <h3>2.6.8 充值记录分页列表标签</h3>
        <p>根据SQL查询条件返回对应的充值记录分页列表，用循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>page_size： 每页显示条数，int类型</p>
          <p>page_index： 当前页码，int类型</p>
          <p>strwhere： SQL查询语句</p>
          <p>totalcount： 记录总数，out参数，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_user_recharge_list(page_size, page_index, strwhere, out totalcount)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：显示用户名为test充值记录分页列表--&gt;</span>
<span class="comment">&lt;!--取得一个DataTable，page为当前页码变量，totalcount为已声明的变量--&gt;</span>
&lt;%set DataTable dt=get_user_recharge_list(10, page, "user_name='test'", out totalcount)%&gt;
<span class="comment">&lt;!--取得分页页码列表，action为变量，相关说明请查阅get_page_link分页标签--&gt;</span>
&lt;%set string pagelist=get_page_link(10, page, totalcount, "useramount", action, "__id__")%&gt;
<span class="comment">&lt;!--使用循环输出--&gt;</span>
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  ...
&lt;%/foreach%&gt;
记录总数：{totalcount}
页码：{pagelist}</code></pre>
        </div>
        
        <h3>2.6.9 邀请码列表标签</h3>
        <p>根据SQL查询条件返回对应的邀请码列表，用循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>top： 显示条数，0为显示所有，int类型</p>
          <p>strwhere： SQL查询语句</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_user_invite_list(top, strwhere)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：显示用户名为test的所有邀请码列表--&gt;</span>
&lt;%set DataTable dt=get_user_invite_list(0, "user_name='test'")%&gt;
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  ...
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h3>2.6.10 邀请码的状态标签</h3>
        <p>根据邀请码字符串返回一个布尔值，True为可用，False为不可用。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>str_code： 需要验证的邀请码字符串，string类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_invite_status(str_code)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：验证邀请码字符串“ER98FE888”是否有效--&gt;</span>
&lt;%set bool status=get_invite_status("ER98FE888")%&gt;
&lt;%if(status==true)%&gt;
  该邀请码有效
&lt;%else%&gt;
  该邀请码已使用过或已过期
&lt;%/if%&gt;</code></pre>
        </div>
        
        <h2 id="label-generic-7">2.7 订单调用标签(方法)</h2>
        <p>位于DTcms.Web.UI/Label/orders.cs类里面的方法，如果你是一个程序员，随时可以根据自己的要求添加你自己的方法。</p>
        <h3>2.7.1 统计订单数量标签</h3>
        <p>根据查询条件统计订单总记录数。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>strwhere： SQL查询语句</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_user_order_count(strwhere)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：查询用户名为test未完成的订单总数--&gt;</span>
未完成订单：&lt;%=get_user_order_count("status&lt;3 and user_name='test'")%&gt;</code></pre>
        </div>
        
        <h3>2.7.2 订单列表标签</h3>
        <p>根据查询条件显示前几行订单列表，用循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>top： 显示条数，0为显示所有，int类型</p>
          <p>strwhere： SQL查询语句</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_order_list(top, strwhere)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：查询用户名为test所有未完成的订单列表--&gt;</span>
&lt;%set DataTable dt=get_order_list(0, "status&lt;3 and user_name='test'")%&gt;
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  ...
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h3>2.7.3 订单分页列表标签</h3>
        <p>根据SQL查询条件返回对应的订单分页列表，用循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>page_size： 每页显示条数，int类型</p>
          <p>page_index： 当前页码，int类型</p>
          <p>strwhere： SQL查询语句</p>
          <p>totalcount： 记录总数，out参数，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_order_list(page_size, page_index, strwhere, out totalcount)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：显示用户名为test订单分页列表--&gt;</span>
<span class="comment">&lt;!--取得一个DataTable，page为当前页码变量，totalcount为已声明的变量--&gt;</span>
&lt;%set DataTable dt=get_order_list(10, page, "user_name='test'", out totalcount)%&gt;
<span class="comment">&lt;!--取得分页页码列表，action为变量，相关说明请查阅get_page_link分页标签--&gt;</span>
&lt;%set string pagelist=get_page_link(10, page, totalcount, "userorder", action, "__id__")%&gt;
<span class="comment">&lt;!--使用循环输出--&gt;</span>
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  ...
&lt;%/foreach%&gt;
记录总数：{totalcount}
页码：{pagelist}</code></pre>
        </div>
        
        <h3>2.7.4 订单商品列表标签</h3>
        <p>根据订单的ID查找对应的商品列表，返回的是List&lt;DTcms.Model.article&gt;实体对象</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>order_id： 订单ID，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_order_goods_list(order_id)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--查询订单ID为5的商品信息--&gt;</span>
&lt;%set List&lt;DTcms.Model.article&gt; ls=get_order_goods_list(5)%&gt;
&lt;%foreach(DTcms.Model.article modelt in ls)%&gt;
  ...
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h3>2.7.5 返回订单状态标签</h3>
        <p>根据订单ID查询当前订单处理状态描述，例如：待付款。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>order_id： 订单ID，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_order_status(order_id)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：查询订单ID为5的状态描述--&gt;</span>
订单状态：&lt;%=get_order_status(5)%&gt;</code></pre>
        </div>
        
        <h3>2.7.6 返回订单是否需要在线支付标签</h3>
        <p>根据订单ID查询当前订单是否需要在线支付，返回布尔值，True代表需要在线支付，False代表不需要在线支付。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>order_id： 订单ID，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_order_payment_status(order_id)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html ruby">&lt;!--示例：查询订单<span class="constant">ID</span>为<span class="number">5</span>是否需要在线支付--&gt;
&lt;%set bool status=get_order_payment_status(<span class="number">5</span>)%&gt;
&lt;%<span class="keyword">if</span>(status==<span class="keyword">true</span>)%&gt;
  <span class="regexp">//</span>显示在线支付按钮
&lt;<span class="string">%/if%&gt;</span></code></pre>
        </div>
        
        <h2 id="label-generic-8">2.8 购物车调用标签(方法)</h2>
        <p>位于DTcms.Web.UI/Label/shoppingcart.cs类里面的方法，如果你是一个程序员，随时可以根据自己的要求添加你自己的方法。</p>
        <h3>2.8.1 返回购物车商品总数标签</h3>
        <p>返回购物车商品总数。</p>
        <div class="bs-example">
          <blockquote>
            <code>get_cart_quantity()</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：输出当前购物车的商品总数--&gt;</span>
购物车商品 &lt;%=get_cart_quantity()%&gt; 件</code></pre>
        </div>
        
        <h3>2.8.2 购物车商品列表标签</h3>
        <p>购物车的所有商品列表，返回的是一个实体List&lt;DTcms.Model.cart_items&gt;。</p>
        <div class="bs-example">
          <blockquote>
            <code>get_cart_list()</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：当前购物车的商品列表--&gt;</span>
&lt;%set List&lt;DTcms.Model.cart_items&gt; iList=get_cart_list()%&gt;
&lt;%foreach(DTcms.Model.cart_items modelt in iList)%&gt;
  ...
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h2 id="label-generic-9">2.9 配送方式调用标签(方法)</h2>
        <p>位于DTcms.Web.UI/Label/express.cs类里面的方法，如果你是一个程序员，随时可以根据自己的要求添加你自己的方法。</p>
        <h3>2.9.1 配送方式列表标签</h3>
        <p>根据查询条件显示前几行配送方式列表，用循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>top： 显示条数，0为显示所有，int类型</p>
          <p>strwhere： SQL查询语句</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_express_list(top, strwhere)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：查询所有配送方式列表--&gt;</span>
&lt;%set DataTable dt=get_express_list(0, "")%&gt;
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  ...
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h3>2.9.2 返回配送方式标题标签</h3>
        <p>根据配送方式的ID查询该配送方式的标题名称。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>express_id： 配送方式的ID，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_express_title(express_id)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：查询配送方式ID为5的标题名称--&gt;</span>
配送方式：&lt;%=get_express_title(5)%&gt;</code></pre>
        </div>
        
        <h2 id="label-generic-10">2.10 支付方式调用标签(方法)</h2>
        <p>位于DTcms.Web.UI/Label/payment.cs类里面的方法，如果你是一个程序员，随时可以根据自己的要求添加你自己的方法。</p>
        <h3>2.10.1 支付方式列表标签</h3>
        <p>根据查询条件显示前几行支付方式列表，用循环输出。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>top： 显示条数，0为显示所有，int类型</p>
          <p>strwhere： SQL查询语句</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_payment_list(top, strwhere)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：查询所有配送方式列表--&gt;</span>
&lt;%set DataTable dt=get_payment_list(0, "")%&gt;
&lt;%foreach(DataRow dr in dt.Rows)%&gt;
  ...
&lt;%/foreach%&gt;</code></pre>
        </div>
        
        <h3>2.10.2 返回支付方式标题标签</h3>
        <p>根据支付方式的ID查询该支付方式的标题名称。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>payment_id： 支付方式的ID，int类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_payment_title(payment_id)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：查询支付方式ID为5的标题名称--&gt;</span>
支付方式：&lt;%=get_payment_title(5)%&gt;</code></pre>
        </div>
        
        <h3>2.10.3 返回支付费用金额标签</h3>
        <p>根据支付方式的ID查询该支付方式的手续费用，返回一个decimal类型的货币格式。</p>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>payment_id： 支付方式的ID，int类型</p>
          <p>total_amount： 参与计算的商品总金额，decimal类型</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_payment_poundage_amount(payment_id,total_amount)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例：查询支付方式ID为5，商品金额为100的支付手续费用--&gt;</span>
支付手续费：&lt;%=get_payment_poundage_amount(5,100)%&gt;</code></pre>
        </div>
        
      </div>
      <!-- 内置页面标签
  ================================================== -->
      <div class="bs-docs-section">
        <div class="page-header">
          <h1 id="label-page">三、页面标签</h1>
        </div>
        <p class="lead">内置的页面标签，实际上是动态生成的aspx文件要继承的类，这些变量与方法只允许对应的模板页面使用。位于DTcms.Web.UI项目的Page目录下，如果开发者需要增加一个页面可以在此目录中增加对应的继承类文件。</p>
        <h2 id="label-page-1">3.1 频道页面变量与方法</h2>
        <p>频道页面的内置变量与方法，只允许当前对应的频道模板页使用，其它模板页面无法使用。</p>
        <h3>3.1.1 频道列表页内置变量</h3>
        <p>所有频道列表页都继承此类，位于DTcms.Web.UI/Page/article_list.cs文件类。</p>
        <div class="bs-example">
          <dl class="dl-horizontal">
            <dt>page</dt>
            <dd>当前页码，int类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>category_id</dt>
            <dd>类别ID，int类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>totalcount</dt>
            <dd>数据总数，int类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>pagelist</dt>
            <dd>分页页码字符串，string类型</dd>
          </dl>
        </div>
        
        <h3>3.1.2 频道详细页变量与方法</h3>
        <p>所有频道详细页都继承此类，位于DTcms.Web.UI/Page/article_show.cs文件类。</p>
        <h4>3.1.2.1 页面内置变量</h4>
        <div class="bs-example">
          <dl class="dl-horizontal">
            <dt>id</dt>
            <dd>当前文章ID，int类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>page</dt>
            <dd>当前文章的调用别名，string类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>model</dt>
            <dd>文章实体类，DTcms.Model.article类型</dd>
          </dl>
        </div>
        <h4>3.1.2.2 获取上一条下一条的A链接方法</h4>
        <div class="bs-callout bs-callout-info">
          <h4>参数说明：</h4>
          <p>urlkey： URL配置名称，string类型</p>
          <p>type： -1代表上一条，1代表下一条</p>
          <p>defaultvalue： 默认文本</p>
          <p>callIndex： 是否使用别名做为链接，0使用ID，1使用别名</p>
        </div>
        <div class="bs-example">
          <blockquote>
            <code>get_prevandnext_article(urlkey, type, defaultvalue, callIndex)</code>
          </blockquote>
        </div>
        <div class="highlight">
          <pre><code class="language-html xml"><span class="comment">&lt;!--示例一：当前URL配置名称为news_show，显示上一条文章链接--&gt;</span>
上一条：&lt;%=get_prevandnext_article("news_show", -1, "没有啦！", 0)%&gt;

<span class="comment">&lt;!--示例二：当前URL配置名称为news_show，显示下一条文章链接--&gt;</span>
下一条：&lt;%=get_prevandnext_article("news_show", 1, "没有啦！", 0)%&gt;</code></pre>
        </div>
        
        <h2 id="label-page-2">3.2 类别页面变量与方法</h2>
        <p>所有频道类别列表页都继承此类，位于DTcms.Web.UI/Page/category.cs文件类。</p>
        <h3>3.2.1 类别列表页内置变量</h3>
        <div class="bs-example">
          <dl class="dl-horizontal">
            <dt>category_id</dt>
            <dd>父类别ID，0代表顶级分类，int类型</dd>
          </dl>
        </div>
        
        <h2 id="label-page-3">3.3 会员页面变量与方法</h2>
        <p>会员中心页面所继承的类，只允许对应的模板页访问。</p>
        <h3>3.3.1 会员中心页面内置变量</h3>
        <p>位于DTcms.Web.UI/Page/usercenter.cs文件类。</p>
        <div class="bs-example">
          <dl class="dl-horizontal">
            <dt>action</dt>
            <dd>操作类型，string类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>curr_login_ip</dt>
            <dd>本次登录IP，string类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>pre_login_ip</dt>
            <dd>上一次登录IP，string类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>pre_login_time</dt>
            <dd>上一次登录时间，string类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>total_order</dt>
            <dd>未完成订单数量，int类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>total_msg</dt>
            <dd>未读短消息，int类型</dd>
          </dl>
        </div>
        
        <h3>3.3.2 会员金额记录页面内置变量</h3>
        <p>位于DTcms.Web.UI/Page/useramount.cs文件类。</p>
        <div class="bs-example">
          <dl class="dl-horizontal">
            <dt>action</dt>
            <dd>操作类型，string类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>page</dt>
            <dd>当前页码，int类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>totalcount</dt>
            <dd>总记录数，int类型</dd>
          </dl>
        </div>
        
        <h3>3.3.3 会员积分记录页面内置变量</h3>
        <p>位于DTcms.Web.UI/Page/userpoint.cs文件类。</p>
        <div class="bs-example">
          <dl class="dl-horizontal">
            <dt>action</dt>
            <dd>操作类型，string类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>page</dt>
            <dd>当前页码，int类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>totalcount</dt>
            <dd>总记录数，int类型</dd>
          </dl>
        </div>
        
        <h3>3.3.4 会员短消息列表页内置变量</h3>
        <p>位于DTcms.Web.UI/Page/usermessage.cs文件类。</p>
        <div class="bs-example">
          <dl class="dl-horizontal">
            <dt>action</dt>
            <dd>操作类型，string类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>page</dt>
            <dd>当前页码，int类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>totalcount</dt>
            <dd>总记录数，int类型</dd>
          </dl>
        </div>
        
        <h3>3.3.5 会员短消息详细页内置变量</h3>
        <p>位于DTcms.Web.UI/Page/usermessage_show.cs文件类。</p>
        <div class="bs-example">
          <dl class="dl-horizontal">
            <dt>id</dt>
            <dd>当前短消息的ID，int类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>model</dt>
            <dd>当前短消息实体，DTcms.Model.user_message类型</dd>
          </dl>
        </div>
        
        <h3>3.3.6 会员订单列表页内置变量</h3>
        <p>位于DTcms.Web.UI/Page/userorder.cs文件类。</p>
        <div class="bs-example">
          <dl class="dl-horizontal">
            <dt>action</dt>
            <dd>操作类型，string类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>page</dt>
            <dd>当前页码，int类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>totalcount</dt>
            <dd>总记录数，int类型</dd>
          </dl>
        </div>
        
        <h3>3.3.7 会员订单详细页内置变量</h3>
        <p>位于DTcms.Web.UI/Page/userorder_show.cs文件类。</p>
        <div class="bs-example">
          <dl class="dl-horizontal">
            <dt>id</dt>
            <dd>当前订单的ID，int类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>model</dt>
            <dd>当前订单实体，DTcms.Model.orders类型</dd>
          </dl>
          <dl class="dl-horizontal">
            <dt>payModel</dt>
            <dd>支付方式实体，DTcms.Model.payment类型</dd>
          </dl>
        </div>
        
        
        
      </div>
      
      <!-- 模板常见问题
  ================================================== -->
      <div class="bs-docs-section">
        <div class="page-header">
          <h1 id="ask-question">四、常见问题</h1>
        </div>
        
        <div class="bs-example">
          <p><strong>Q：</strong>制作模板时应该注意些什么？</p>
          <p><strong>A：</strong>首先需要注意该模板的保存文本格式为UTF-8；第二在模板页写Javascript代码时&lt;SCRIPT&gt;要改为小写&lt;script&gt;，遇到大括号{}时不要写成一行，一定要换行，否则模板引擎当成变量处理。</p>
        </div>
        
        <div class="bs-example">
          <p><strong>Q：</strong>模板生成后，测览页面时提示错误，错误信息：非法字符？</p>
          <p><strong>A：</strong>此类问题大部分是由于模板页面文件的保存格式为GBK或其它编码造成的，解决方法是找到该模板页，右键选择记事本打开，重新保存一下格式为UTF-8编码即可。</p>
        </div>
        
        <div class="bs-example">
          <p><strong>Q：</strong>模板生成后，测览页面时提示错误，错误信息：缺少}结束符？</p>
          <p><strong>A：</strong>一般在模板页使用循环或判断标签时，如果忘了加上结束标签则会出现以上错误，解决方法是找到模板页中有循环或判断的地方未加结束标签的加上对应的结束标签。</p>
        </div>
        
        <div class="bs-example">
          <p><strong>Q：</strong>模板制作好后，放到模板对应的文件夹，生成模板却找不到生成的aspx页面？</p>
          <p><strong>A：</strong>出现此类问题应先检查URL配置，查找有无URL配置指向这个模板名称，如果没有则需要添加一条URL配置信息。</p>
        </div>
        
      </div>
      
    </div>
  </div>
</div>
<!-- Footer
    ================================================== -->
<footer class="bs-footer" role="contentinfo">
  <div class="container">
    <p>版权所有 动力启航 © Copyright 2009 - 2012. dtcms.net. All Rights Reserved. <a href="http://www.miibeian.gov.cn/">粤ICP备11064298号</a></p>
    <ul class="footer-links">
      <li>当前版本： v3.0.3</li>
      <li class="muted">·</li>
      <li><a target="_blank" href="http://www.dtcms.net/help/6.aspx">DTcms V2.0 帮助文档</a></li>
      <li class="muted">·</li>
      <li><a target="_blank" href="http://www.dtcms.net/">官方网站</a></li>
      <li class="muted">·</li>
      <li><a target="_blank" href="http://bbs.dtcms.net/">技术论坛</a></li>
      <li class="muted">·</li>
      <li><a target="_blank" href="http://www.dtcms.net/content/authorized.aspx">授权服务</a></li>
      <li class="muted">·</li>
      <li><a target="_blank" href="http://www.dtcms.net/content/contact.aspx">联系我们</a></li>
    </ul>
  </div>
</footer>
<!-- JS and analytics only. -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="./DTcms V4.0模板制作教程_files/jquery-1.10.2min.js"></script>
<script src="./DTcms V4.0模板制作教程_files/bootstrap.min.js"></script>
<script src="./DTcms V4.0模板制作教程_files/holder.min.js"></script>
<script src="./DTcms V4.0模板制作教程_files/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="./DTcms V4.0模板制作教程_files/application.js"></script>


</div></body></html>